#ifndef CMD_PARSER__BOOL_PARAMETER_H
#define CMD_PARSER__BOOL_PARAMETER_H

#include <list>
#include <set>
#include "Parameter.h"

namespace czj {
namespace util {

class BoolParameter : public Parameter {
private:
	std::list<std::string> hints_;
	std::set<std::string> keys_;
	bool value_;
public:
	BoolParameter(const char *_describe);
	~BoolParameter();
public:
	Type getType() const override;
	const std::list<std::string> &getHints() const;
	bool bindKey(const char *_key);
	bool matchKey(const char *_key);
	bool getValue() const;
};

} // util
} // czj

#endif // CMD_PARSER__BOOL_PARAMETER_H
